package com.houweishi.module.clockedtype.domain;

import com.houweishi.module.clockscope.domain.BizClockingScope;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.houweishi.common.annotation.Excel;
import com.houweishi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 打卡模型对象 biz_clocked_type
 * 
 * @author houweishi
 * @date 2023-03-02
 */
@Data
public class BizClockedType extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 类型名称 */
    @Excel(name = "类型名称")
    private String typeName;

    /** 打卡时间区间表的多个id */
    @Excel(name = "打卡时间区间表的多个id")
    private String clockIds;

    /** 地址名称 */
    @Excel(name = "地址名称")
    private String addressName;

    /** 地址经度 */
    @Excel(name = "地址经度")
    private String longitude;

    /** 地址纬度 */
    @Excel(name = "地址纬度")
    private String latitude;

    /** 允许打卡范围 */
    @Excel(name = "允许打卡范围")
    private String scope;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 时间区间列表 */
    private List<BizClockingScope> scopeList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTypeName(String typeName) 
    {
        this.typeName = typeName;
    }

    public String getTypeName() 
    {
        return typeName;
    }
    public void setClockIds(String clockIds) 
    {
        this.clockIds = clockIds;
    }

    public String getClockIds() 
    {
        return clockIds;
    }
    public void setAddressName(String addressName) 
    {
        this.addressName = addressName;
    }

    public String getAddressName() 
    {
        return addressName;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setLatitude(String latitude) 
    {
        this.latitude = latitude;
    }

    public String getLatitude() 
    {
        return latitude;
    }
    public void setScope(String scope) 
    {
        this.scope = scope;
    }

    public String getScope() 
    {
        return scope;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("typeName", getTypeName())
            .append("clockIds", getClockIds())
            .append("addressName", getAddressName())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("scope", getScope())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
